package com.doordu.soa.service.data.service;

import java.util.List;

import com.doordu.soa.service.data.vo.LogSyncErrorVo;
import com.doordu.soa.service.data.vo.LogSyncResultVo;
import com.doordu.soa.service.data.vo.LogSyncVo;
import com.doordu.soa.service.data.vo.QuerySyncLogVo;

/**
 * 同步日志服务[接口类]
 * @ClassName: LogSyncService
 * @Description:
 * @author xiaoqun.yi yixq@doordu.com
 * @date 2017年9月5日 上午10:52:41
 * @version V1.0
 */
public interface LogSyncService {
	
	/**
	 * 查询 同步日志
	 * @Title: queryLogSync
	 * @Description: 
	 * @author xiaoqun.yi yixq@doordu.com 
	 * @date 2017年9月29日 下午2:28:31
	 * @param query
	 * @return    
	 * @return List<LogSyncResultVo>
	 */
	List<LogSyncResultVo> queryLogSync(QuerySyncLogVo query);
	
	/**
	 * 查询同步错误日志
	 * @Title: queryLogSyncError
	 * @Description: 
	 * @author xiaoqun.yi yixq@doordu.com 
	 * @date 2017年9月29日 下午2:28:36
	 * @param logId
	 * @return    
	 * @return List<LogSyncErrorVo>
	 */
	List<LogSyncErrorVo> queryLogSyncError(Long logId);
	
	public int insert(LogSyncVo logSyncVo);

	/**
	 * 插入同步日志
	 * @Title: insertLogSync
	 * @Description: 
	 * @author xiaoqun.yi yixq@doordu.com 
	 * @date 2017年9月29日 下午2:28:42
	 * @param companyId
	 * @param parkingId
	 * @param serviceMethod
	 * @param serviceName
	 * @param successCount
	 * @param failCount
	 * @param operateType
	 * @param status
	 * @param gzipFlag
	 * @param dataFile
	 * @param dataJson
	 * @return    
	 * @return LogSyncVo
	 */
	public LogSyncVo insertLogSync(Integer companyId, 
			Integer parkingId, 
			String serviceMethod, 
			String serviceName,
			Integer successCount,
			Integer failCount,
			Short operateType,
			Short status,
			Short gzipFlag,
			String dataFile,
			String dataJson
	);
	/**
	 * 插入同步错误日志
	 * @Title: insertLogSyncError
	 * @Description: 
	 * @author xiaoqun.yi yixq@doordu.com 
	 * @date 2017年9月29日 下午2:28:53
	 * @param logId
	 * @param errorJsondata
	 * @param errorReason
	 * @param errorType
	 * @return    
	 * @return LogSyncErrorVo
	 */
	public LogSyncErrorVo insertLogSyncError(
			Long logId, 
			String errorJsondata,
			String errorReason,
			Short errorType);
	
	
	public int update(LogSyncVo logSyncVo);
	
	
	public String getParentPath();
}
